import axios from 'axios'
import Vue from 'vue'
const http = axios.create({
  // 配置接口基准地址
  baseURL: 'http://127.0.0.1:8888/api/private/v1/'
})
// 全局请求拦截
http.interceptors.request.use(config => {
  // 对所有的请求设置请求头 携带token
  config.headers.Authorization = sessionStorage.getItem('token')
  return config
})
// 全局响应拦截
http.interceptors.response.use(function (response) {
  // let data = response.data
  // if(data.meta.status != 200) return Vue.prototype.$message(data.meta.msg)
  // 对响应数据做点什么
  return response;
}, function (error) {
  // 对响应错误做点什么
  // 注: 本来应该在此进行全局错误处理 但因为后端并没有将错误抛出 
  // 所以在这里无法捕获到错误 需要后端配合
  // 于是在上面通过对数据的校验 将数据中的msg展示 
  // 但msg提示并不是很合理 同样也需要后端配合给出更友好的提示
  // if (error.response.data.msg) {
  //   Vue.prototype.$message({
  //     type: 'error',
  //     message: error.response.data.msg
  //   })
  // }
  return Promise.reject(error);
});
export default http